Pandas数据离散化
数据离散化
1 .等距分割
将连续型变量的
取值范围均匀划成n等份,每份的间距相等。如年龄在0-100范围之间,分成0-9,10-19,…,90-99共10份,每份间距都是10.向cut传入面元的数量,则会根据数据的最小值和最大值计算等长面元。
1 | df = pd.DataFrame({"age": range(0, 101, 4)}) |

2. 等频分割
把
样本均匀分为n等份,每份内包含的观察点数相同。如把所有样本按年龄从小到大排序,分成你n份,每份样本人数相等。qcut可以根据样本分位数对数据进行面元划分。
1 | df = pd.DataFrame({"age": range(0, 101, 4)}) |

3.自定义距离分割
如年龄按照
bins=[0,18,30,60,100]的间距分割。labels=['未成年','青年',‘中年’,'老年']
1 | df = pd.DataFrame({"age": range(1, 101, 4)}) |
4.自定义分位数分割
如年龄按照
bins=[0,0.1,0.5,0.8,100]的间距分割。
1 | df = pd.DataFrame({"age": range(1, 101, 4)}) |